$(function() {
	// 所有的元素增加验证操作
	elementAddListener();
});

// 非空验证
function validateEmpty(eleStr) {
	// 如果验证对象其中的值非空
	if($("#" + eleStr).val() != null && $("#" + eleStr).val() != "") {
		$("#" + eleStr + "Div").attr("class", "col-md-6 has-success");
		$("#" + eleStr + "Msg").empty(); // 先清空
		$("#" + eleStr + "Msg").html("<span class='text-success' style='font-size:15px;'>输入正确</span>");
		return true;
	} else {
		$("#" + eleStr + "Div").attr("class", "col-md-6 has-error");
		$("#" + eleStr + "Msg").empty(); // 先清空
		$("#" + eleStr + "Msg").html("<span class='text-error' style='font-size:15px;'>该字段必须输入</span>");
		return false;
	}
}

// 正则表达式验证
function validateReg(eleStr, reg) {

	if(validateEmpty(eleStr)) {
		// 非空验证通过，再验证正则表达式
		var value = $("#"+eleStr).val();
		// 根据正则的验证来赋予样式
		if(reg.test(value)) {
			$("#" + eleStr + "Div").attr("class", "col-md-6 has-success");
			$("#" + eleStr + "Msg").empty();
			$("#" + eleStr + "Msg").html("<span class='text-success' style='font-size:15px;'>输入正确</span>");
			return true;
		} else {
			$("#" + eleStr + "Div").attr("class", "col-md-6 has-error");
			$("#" + eleStr + "Msg").empty();
			if(eleStr.indexOf("email") != -1){
				$("#" + eleStr + "Msg").html("<span class='text-error' style='font-size:15px;'>必须输入邮箱</span>");
			}else if(eleStr.indexOf("age") != -1){
				$("#" + eleStr + "Msg").html("<span class='text-error' style='font-size:15px;'>必须输入整数</span>");
			}
		
			return false;
		}
	}
	return false;
}

// 元素增加验证
function elementAddListener() {
	// 用户名验证
	$("#member\\.username").on("blur", function() {
		validateEmpty("member\\.username"); // JQuery对.不认，所以一定要记住转义
	});
	// 密码验证
	$("#member\\.password").on("blur", function() {
		validateEmpty("member\\.password");
	});
	// 年龄验证
	$("#member\\.age").on("blur", function() {
		validateReg("member\\.age", /^\d{1,2}$/);
	});
	// 邮箱验证
	$("#member\\.email").on("blur", function() {
		validateReg("member\\.email", /^\w+@\w+\.\w+$/);
	});
	// 表单提交增加验证
	$("#userForm").on("submit", function() {
		return validateEmpty("member\\.username") && validateEmpty("member\\.password") && validateReg("member\\.age", /^\d{1,2}$/) &&
			validateReg("member\\.email", /^\w+@\w+\.\w+$/);
	});

}